#include <iostream>
#include <vector>
#include <algorithm>

bool has_latin_letters(const std::string& word) {
    for (char c : word) {
        if ('a' <= std::tolower(c) && std::tolower(c) <= 'z') {
            return true;
        }
    }
    return false;
}

bool start_cyr_letter(const std::string& word) {
    if ('А' <= word[0] && word[0] <= 'Я') {
        return true;
    }
    return false;
}

int main() {
    std::string text;
    std::cout << "Введите строку: ";
    std::getline(std::cin, text);

    std::vector<std::string> words;
    size_t pos = 0;
    while ((pos = text.find(' ', pos)) != std::string::npos) {
        words.push_back(text.substr(0, pos));
        text.erase(0, pos + 1);
        pos = 0;
    }
    words.push_back(text);

    if (words.size() <= 1) {
        std::cout << "Мало данных для анализа" << std::endl;
        return 0;
    }

    std::string longest = *std::max_element(words.begin(), words.end(),
                                            [](const std::string& a, const std::string& b) { return a.size() < b.size(); });

    int latin_count = 0;
    int cyr_count = 0;
    for (const auto& word : words) {
        if (has_latin_letters(word)) {
            latin_count++;
        }
        if (start_cyr_letter(word)) {
            cyr_count++;
        }
    }

    int hyphen_count = std::count_if(words.begin(), words.end(), [](const std::string& word) { return word.find('-') != std::string::npos; });
    int short_words_count = std::count_if(words.begin(), words.end(), [](const std::string& word) { return word.size() <= 3; });

    std::cout << "                     Число слов: " << words.size() << std::endl;
    std::cout << "Число слов с латинским символом: " << latin_count << std::endl;
    std::cout << "  Число слов с русским символом: " << cyr_count << std::endl;
    std::cout << "           Число слов с дефисом: " << hyphen_count << std::endl;
    std::cout << " Число слов не более 3 символов: " << short_words_count << std::endl;
    std::cout << "            Самое длинное слово: " << longest << std::endl;
    std::cout << "                    Длина слова: " << longest.size() << std::endl;

    return 0;
}